03 March 2025

Application Server Performance Recommendations

As the usage and capabilities of the ontrack websites continues to grow, it is important to ensure that the supporting infrastructure is configured and sized appropriately to handle the demand during peak/ busy periods.

As well as considering the database performance recommendations, the application server that hosts the ontrack and web services websites should be considered.

Due to the custom nature of many ontrack websites, and the variance with use from one customer to the next, as well as usage varying so much over the course of the academic year, it is not possible for Tribal to give definitive advice on infrastructure requirements.

However, to offer our customers some guidance, Tribal has conducted some load testing on a standard Ontrack Learner Hub enrolment flow that tests some key components of core ebs functionality.

Test Scenarios

The test scenarios are detailed below.

Enrolment flow
The test scenario for the enrolment flow is as follows:
  • Log in to ontrack Learner Hub

  • Create an enrolment

  • Update learner details

  • Update consent information

  • Upload evidence

The table Enrolment flow details the server specifications and results from the test scenario.

Enrolment flow
App Server Database Server Results

Win2019, x8 CPU, 16GB RAM, Intel Xeon Gold 6246 processor

Win2019, 6x CPU, 64GB RAM

Number of enrolment journeys successfully completed in 60 minutes with a page response time of 3 seconds or less:

  • ebs 4.45.0.1018: 1600

  • ebs 4.44.0.1063: 1450

Exam results day

The test scenario for exam results day is as follows:

  • Directly load Learner Exams page, through the login page, displaying results for 5 exams.

  • Tests conducted over a 20 minute period with a 5 minute ramp up and ramp down. That is, 10 minutes under full load.

The table Exam results day details the server specifications and results from the test scenario.

Exam results day
App Server Database Server Results

Win2019, x8 CPU, 16GB RAM, Intel Xeon Gold 6246 processor

Win2019, 6x CPU, 64GB RAM

3600 with an average page response time of 3 seconds or less

4400 with an average page response time of 6 seconds or less, using an increased concurrent load

Key Observations

The key observations from our testing are as follows:

  • Most load was observed on the web services website – as this is the website that does the ‘heavy lifting’ of exchanging data with the database server and applying business logic.

  • Average Application Server memory usage did not significantly increase under load (~6.5 - 8Gb).

  • The number of CPU cores was seen to have a significant impact on processing time – 8 Cores gave a page response time that was ~80% faster than when the tests were carried out with 2 Cores.

  • The database was ‘comfortable’ under this level of load – averaging 30% CPU load and around 18 - 21Gb Memory.

Tribal next steps

Our intention will be to run these load tests on new versions of ebs and update the metrics on these pages. Our goal will be to increase the number of enrolments that can be processed within an hour.

We will also consider extending our load testing capability to other areas of the product.

Customer Key Recommendation

Our key recommendation for customers is to Focus on the capability of the Web Service tier. You may also want to consider the following suggestions:

  • Use a separate set of web services for ontrack Learner Hub and ontrack Hub. This will help spread load, as well as help ensure that a peak load on one website does not impact the other.

  • Use a load balancer to create a web-farm of more than one web services website. As well as spreading load, this setup provides resilience from hardware failure on a single server.

  • Increase the CPU cores on the application server that hosts the web services, particularly during periods of expected peak demand if using flexible architecture (e.g. Enrolment days).

  • Maximise the resources that are available to the web service websites by separating this component from other ebs modules. e.g. Consider installing other modules like Intel and Windows (Workflow) Services onto a separate application server.